package versionAscensor;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
 
public class CreacionEscrituraArchivoLog
{

	FileWriter fstream = null;
	
	File file = null;
	/*
	FileLock lock = null;
	FileChannel channel = null;//*/
	
    public void main(String[] args) throws IOException
    {	
    	
    	file = new File("logs/RegistroActividad.log"); //abre el archivo en cuestion
    	
    	if (!file.exists())		//si no existe el archivo 
    	{
    		new File("logs").mkdir();	//creo el directorio por si las dudas
    		fstream = new FileWriter("logs/RegistroActividad.log"); //Creo el archivo a utilizar
    	}
    	/*
    	//EscribirFechaArchivo();
    	    	
    	channel = new RandomAccessFile(file, "rW").getChannel();
    	lock = channel.lock();

    	System.out.println("locked file");
    	

    	/*lock.release();
    	System.out.println("released file");
    	//*/
    	
    }
    
    /*
    public void BloquearArchivo()
    {
    	try
		{
			lock = channel.lock();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    public void DesbloquearArchivo()
    {
    	try
		{
			lock.release();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    //*/
    
    public void EscribirFechaArchivo ()
    {
    	try
		{			
  		java.util.Date date = (new GregorianCalendar()).getTime();
   		SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); //formato a mostrar la fecha
   		Date newDate = date;
    		
//			fstream = new FileWriter("RegistroActividad.log"); //Creo el archivo a utilizar
    	BufferedWriter out = new BufferedWriter(new FileWriter("logs/RegistroActividad.log",true));
           		
//		BufferedWriter out = new BufferedWriter(fstream);
    	out.write(sdf.format(newDate.getTime()) + "\n");
	//	out.write('\n');
		out.close();
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    
    public void EscribirElArchivo (String ValorAEscribir)
    {
    	try
		{			
  		java.util.Date date = (new GregorianCalendar()).getTime();
   		SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); //formato a mostrar la fecha
   		Date newDate = date;
    		
//			fstream = new FileWriter("RegistroActividad.log"); //Creo el archivo a utilizar
    	BufferedWriter out = new BufferedWriter(new FileWriter("logs/RegistroActividad.log",true));
           		
//		BufferedWriter out = new BufferedWriter(fstream);
    	out.write(sdf.format(newDate.getTime()) + " :|: ");
		out.write(ValorAEscribir + "\n");
	//	out.write('\n');
		out.close();
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    
    public void ModificarFechaAccesoArchivo() 
    {
    	java.util.Date date = (new GregorianCalendar()).getTime();
		SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy/HH:mm:ss"); //formato a mostrar la fecha
	//	System.out.println("Original Last Modified Date : "+ sdf.format(file.lastModified()));	//Fecha original
		

		//set this date 
	//	String newLastModified = "31-01-1998/15:31:12"; //nueva fecha

		//need convert the above date to milliseconds in long value 
		Date newDate = date;
//*/		
		file.setLastModified(newDate.getTime());

		//print the latest last modified date
		System.out.println("Lastest Last Modified Date : "+ sdf.format(file.lastModified()));

    }
}

